# 1. 指定 CMake 最低版本（4.0 过高，主流系统可能没有，建议降为 3.10+，兼容性更好）
cmake_minimum_required(VERSION 3.10)

# 2. 定义工程名称，明确指定语言为 C（避免默认混编 C/C++）
project(zjson LANGUAGES C)

# 3. 配置 C 标准（删除多余的 C++ 标准配置，明确 C 11）
set(CMAKE_C_STANDARD 11)                # 指定 C 11 标准
set(CMAKE_C_STANDARD_REQUIRED ON)       # 强制要求支持 C 11（不支持则报错）
set(CMAKE_C_EXTENSIONS OFF)             # 禁用编译器特定扩展（严格遵循 C 11）

# 4. 添加头文件搜索路径（让编译器找到 src 目录下的 .h 文件）
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/src)

# 5. 生成静态库（修正重复的 print.c，目标名 LIB_zjson，输出文件 libLIB_zjson.a）
add_library(LIB_${PROJECT_NAME} STATIC
        src/get.c
        src/zJSON.h  # 头文件加入仅为 IDE 显示，不影响编译（可选）
        src/parse.c
        src/print.c  # 修正：只保留一次
)

# 6. 生成可执行文件（目标名 zjson，入口为 test/main.c）
add_executable(${PROJECT_NAME} test/main.c
        src/minify.c)

# 7. 链接静态库（关键：删除多余的逗号，语法正确）
target_link_libraries(${PROJECT_NAME} PRIVATE LIB_${PROJECT_NAME})